Text entry interface for a portable communication device

ABSTRACT

A method includes displaying a first tray and a second tray in a display of the portable communications device. The first tray is configured to display one of more characters that were selected by a user using a click wheel. The second tray includes a first plurality of icons that correspond to a set of characters and one or more recommended words. The first tray includes a first region in a graphical user interface and the second tray includes a second region in the graphical user interface. Scrolling through the first plurality of icons and the one or more recommended words occurs in accordance with one or more navigation commands received from a click wheel.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 60/756,831, filed Jan. 5, 2006, entitled “Telephone Interface for aPortable Communication Device,” which application is incorporated byreference in its entirety.

This application is related to U.S. patent application Ser. No.11/459,609, filed Jul. 24, 2006, entitled “Telephone Interface for aPortable Communication Device,” which application is incorporated byreference herein in its entirety.

This application is related to U.S. patent application Ser. No.11/459,612, filed Jul. 24, 2006, entitled “Replay Recommendations in aText Entry Interface,” which application is incorporated by referenceherein in its entirety.

TECHNICAL FIELD

The disclosed embodiments relate to user interfaces, and in particular,to telephone user interfaces that include a click wheel.

BACKGROUND

As portable devices become more compact, and the amount of informationto be processed and stored increases, it has become a significantchallenge to design a user interface that allows users to easilyinteract with the device. This is unfortunate since the user interfaceis the gateway through which users receive not only content but alsoresponses to user actions or behaviors, including user attempts toaccess a device's features or tools. Some portable communication devices(e.g., mobile phones) have resorted to adding more pushbuttons,increasing the density of push buttons, overloading the functions ofpushbuttons, or using complex menu systems to allow a user to access,store and manipulate data. These conventional user interfaces oftenresult in complicated key sequences and menu hierarchies that must bememorized by the user. In addition, as the number of pushbuttons hasincreased, the proximity of neighboring buttons often makes it difficultfor users to activate a desired pushbutton.

Many conventional user interfaces, such as those that include physicalpushbuttons, are also inflexible. This is unfortunate because it mayprevent a user interface from being configured and/or adapted by eitheran application running on the portable device or by users. When coupledwith the time consuming requirement to memorize multiple key sequencesand menu hierarchies, and the difficulty in activating a desiredpushbutton, such inflexibility is frustrating to most users.

Accordingly, there is a need for more transparent and intuitive userinterfaces for portable electronic devices that are easy to use,configure, and/or adapt.

SUMMARY OF EMBODIMENTS

The above deficiencies and other problems associated with userinterfaces for portable devices are reduced or eliminated by thedisclosed portable communication device that includes a text entry userinterface.

In some embodiments, a method includes displaying a first tray and asecond tray in a display of the portable communications device. Thefirst tray is configured to display one of more characters that wereselected by a user using a click wheel. The second tray includes a firstplurality of icons that correspond to a set of characters and one ormore recommended words. The first tray includes a first region in agraphical user interface and the second tray includes a second region inthe graphical user interface. Scrolling through the first plurality oficons and the one or more recommended words occurs in accordance withone or more navigation commands received from a click wheel. The one ormore navigation commands may include motion of a user contact with theclick wheel.

The first plurality of icons and the one or more recommended words mayconstitute a first set. Scrolling through the first set may besequential. The scrolling may wrap around from one end of the first setto another end of the first set. The first plurality of icons mayinclude one or more jump icons. Clicking on a respective jump icon usingthe click wheel may result in a discontinuous jump from one position inthe first set to another position.

In some embodiments, the method includes displaying a third tray. Thethird tray may include a second plurality of icons. The second pluralityof icons may include numbers. The third tray may include a third regionin the graphical user interface. The first plurality of icons, the oneor more recommended words and the second plurality of icons mayconstitute a second set. Scrolling through the second set may besequential. The scrolling may wrap around from one end of the second setto another end of the second set.

The method may include highlighting a respective icon in the firstplurality of icons corresponding to a current position in the secondtray. The method may include receiving a first user command. The firstuser command may correspond to selection of a respective icon in thefirst plurality of icons. In some embodiments, the first user commandincludes pushing down on the click wheel. In some embodiments, the firstuser command includes pushing down on a click wheel button, such as abutton at the center of the click wheel.

The method may include displaying explanations of one or more functionscorresponding to one or more symbols on the click wheel in the display.

The first plurality of icons may include a display adjustment icon. Theone or more recommended words in the second tray may be replaced byicons corresponding to punctuation marks when a third user commandcorresponding to selection of the display adjustment icon is received afirst time. Icons corresponding to punctuation marks may be replaced bythe one or more recommended words when the third user commandcorresponding to selection of the display adjustment icon is received asecond time. In some embodiments, additional icons corresponding to oneor more sets of characters are displayed if the third user commandcorresponding to selection of the display adjustment icon is received asecond time and if a first contact associated with the selection of thedisplay adjustment icon is maintained for a time interval greater than apre-determined value.

The method may include automatically adding a space after receiving asecond user command corresponding to selection of at least one of theone or more recommended words. In some embodiments, the space may beautomatically removed if a next user command received corresponds to thedisplay adjustment icon.

The first plurality of icons may include at least one character iconcorresponding to one or more sets of additional characters. A set oficons corresponding to at least one of the one or more sets ofadditional characters may be displayed when a fourth user commandcorresponding to selection of at least the one character icon isreceived. In some embodiments, the method includes displaying iconscorresponding to pronunciation marks in accordance with the one or morecharacters that are selected by the user.

The one or more recommended words may be in accordance with a user wordhistory. The user word history may include frequencies and times ofusage. The one or more recommended words may be in accordance with aword prediction model. The word prediction model may be in accordancewith one or more previously received user commands corresponding to oneor more characters. The one or more recommended words may be displayedprior to receiving any user commands corresponding to selection of anyicon in the first plurality of icons.

A scrolling rate may be in accordance with a speed and/or anacceleration of a second contact by a user with the click wheel. In someembodiments, the scrolling rate may be slower for a pre-determinedangular displacement of the second contact just after the scrolling isstarted, just prior to stopping the scrolling, and when a direction ofthe scrolling is reversed, than for other angular displacements. In someembodiments, the scrolling rate is slower for a pre-determined timeinterval of the second contact just after the scrolling is started, justprior to stopping the scrolling, and when a direction of the scrollingis reversed, than for other time intervals.

In some embodiments, the method includes receiving a plurality of usercommands using the click wheel. The plurality of user commandscorrespond to selection of multiple icons in the first plurality oficons. The selection occurs while contact with the click wheel ismaintained.

The aforementioned methods may be performed by a portable electronicdevice having a touch-sensitive display with a graphical user interface(GUI), one or more processors, memory and one or more modules, programsor sets of instructions stored in the memory for performing thesemethods. In some embodiments, the portable electronic device provides aplurality of functions, including wireless communication.

Instructions for performing the aforementioned methods may be includedin a computer program product configured for execution by one or moreprocessors.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the aforementioned embodiments of theinvention as well as additional embodiments thereof, reference should bemade to the Description of Embodiments below, in conjunction with thefollowing drawings in which like reference numerals refer tocorresponding parts throughout the figures.

FIG. 1 is a block diagram illustrating an embodiment of an architecturefor a portable communication device.

FIG. 2 is a schematic diagram illustrating an embodiment of a userinterface for a portable communication device.

FIG. 3A is a schematic diagram illustrating an embodiment of a telephoneuser interface for a portable communication device.

FIG. 3B is a schematic diagram illustrating an embodiment of a telephoneuser interface for a portable communication device.

FIG. 3C is a schematic diagram illustrating an embodiment of a telephoneuser interface for a portable communication device.

FIG. 3D is a schematic diagram illustrating an embodiment of a telephoneuser interface for a portable communication device.

FIG. 4A is a schematic diagram illustrating an embodiment of a telephoneuser interface for a portable communication device.

FIG. 4B is a schematic diagram illustrating an embodiment of a telephoneuser interface for a portable communication device.

FIG. 5 is a schematic diagram illustrating an embodiment of a telephoneuser interface for a portable communication device.

FIG. 6 is a flow diagram of an embodiment of a telephone number dialingprocess.

FIG. 7 is a block diagram illustrating an embodiment of an address bookdata structure.

FIG. 8A is a schematic diagram illustrating an embodiment of a textentry user interface for a portable communication device.

FIG. 8B is a schematic diagram illustrating an embodiment of a textentry user interface for a portable communication device.

FIG. 8C is a schematic diagram illustrating an embodiment of a textentry user interface for a portable communication device.

FIG. 8D is a schematic diagram illustrating an embodiment of a textentry user interface for a portable communication device.

FIG. 8E is a schematic diagram illustrating an embodiment of a textentry user interface for a portable communication device.

FIG. 9A is a schematic diagram illustrating an embodiment of a textentry user interface for a portable communication device.

FIG. 9B is a schematic diagram illustrating an embodiment of a textentry user interface for a portable communication device.

FIG. 10 is a flow diagram of an embodiment of a text entry process.

FIG. 11 is a flow diagram of an embodiment of a scrolling process.

FIG. 12A is a schematic diagram illustrating an embodiment of replayrecommendations in a user interface for a portable communication device.

FIG. 12B is a schematic diagram illustrating an embodiment of replayrecommendations in a user interface for a portable communication device.

FIG. 12C is a schematic diagram illustrating an embodiment of replayrecommendations in a user interface for a portable communication device.

FIG. 13 is a flow diagram of an embodiment of a replay recommendationprocess.

FIG. 14A is a block diagram illustrating an embodiment of a user wordhistory data structure.

FIG. 14B is a block diagram illustrating an embodiment of a languagedata structure system.

DESCRIPTION OF EMBODIMENTS

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the present invention. However, it will beapparent to one of ordinary skill in the art that the present inventionmay be practiced without these specific details. In other instances,well-known methods, procedures, components, and circuits have not beendescribed in detail so as not to unnecessarily obscure aspects of theembodiments.

Embodiments of user interfaces and associated processes for using adevice are described. In some embodiments, the device may be a portablecommunications device. The user interface may include a click wheeland/or touch screen. A click wheel is a physical user-interface devicethat may provide navigation commands based on an angular displacement ofthe wheel or a point of contact with the wheel by a user of the device.A click wheel may also be used to provide a user command correspondingto selection of one or more items, for example, when the user of thedevice presses down on at least a portion of the wheel. For simplicity,in the discussion that follows, a portable communications device (e.g.,a cellular telephone that may also contain other functions, such as PDAand music player functions) that includes a click wheel is used as anexemplary embodiment. It should be understood, however, that the userinterfaces and associated processes may be applied to other devices,such as personal computers and laptops, that may include one or moreother physical user-interface devices, such as a keyboard, a mouseand/or a joystick.

The device may support a variety of applications, such as a telephone,text messaging and a music player. The music player may be compatiblewith one or more file formats, such as MP3 and/or AAC. In an exemplaryembodiment, the device includes an iPod music player (trademark of AppleComputer, Inc.).

The various applications that may be executed on the device may use atleast one common physical user-interface device, such as the clickwheel. One or more functions of the click wheel as well as correspondinginformation displayed on the device may be adjusted and/or varied fromone application to the next and/or within a respective application. Inthis way, a common physical architecture (such as the click wheel) ofthe device may support the variety of applications with user interfacesthat are intuitive and transparent.

Attention is now directed towards embodiments of the device. FIG. 1 is ablock diagram illustrating an architecture for a portable communicationdevice 100, according to some embodiments of the invention. The device100 may include a memory 102 (which may include one or more computerreadable storage mediums), a memory controller 122, one or moreprocessing units (CPU's) 120, a peripherals interface 118, RF circuitry108, audio circuitry 110, a speaker 111, a microphone 113, aninput/output (I/O) subsystem 106, a display system 112 (which mayinclude a touch screen), a click wheel 114, other input or controldevices 116, and an external port 124. These components may communicateover one or more communication buses or signal lines 103. The device 100may be any portable electronic device, including but not limited to ahandheld computer, a tablet computer, a mobile phone, a media player, apersonal digital assistant (PDA), or the like, including a combinationof two or more of these items. In other embodiments, the device 100 maynot be portable, such as a desktop personal computer.

It should be appreciated that the device 100 is only one example of aportable electronic device 100, and that the device 100 may have more orfewer components than shown, may combine two or more components, or amay have a different configuration or arrangement of the components. Thevarious components shown in FIG. 1 may be implemented in hardware,software or a combination of both hardware and software, including oneor more signal processing and/or application specific integratedcircuits.

The memory 102 may include high speed random access memory and may alsoinclude non-volatile memory, such as one or more magnetic disk storagedevices, flash memory devices, or other non-volatile solid state memorydevices. In some embodiments, the memory 102 may further include storageremotely located from the one or more processors 120, for instancenetwork attached storage accessed via the RF circuitry 108 or theexternal port 124 and a communications network (not shown) such as theInternet, intranet(s), Local Area Networks (LANs), Wide Local AreaNetworks (WLANs), Storage Area Networks (SANs) and the like, or anysuitable combination thereof. Access to the memory 102 by othercomponents of the device 100, such as the CPU 120 and the peripheralsinterface 118, may be controlled by the memory controller 122.

The peripherals interface 118 couples the input and output peripheralsof the device to the CPU 120 and the memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in the memory 102 to perform various functions forthe device 100 and to process data.

In some embodiments, the peripherals interface 118, the CPU 120, and thememory controller 122 may be implemented on a single chip, such as achip 104. In some other embodiments, they may be implemented on separatechips.

The RF (radio frequency) circuitry 108 receives and sendselectromagnetic waves. The RF circuitry 108 converts electrical signalsto/from electromagnetic waves and communicates with communicationsnetworks and other communications devices via the electromagnetic waves.The RF circuitry 108 may include well-known circuitry for performingthese functions, including but not limited to an antenna system, an RFtransceiver, one or more amplifiers, a tuner, one or more oscillators, adigital signal processor, a CODEC chipset, a subscriber identity module(SIM) card, memory, and so forth. The RF circuitry 108 may communicatewith networks, such as the Internet, also referred to as the World WideWeb (WWW), an Intranet and/or a wireless network, such as a cellulartelephone network, a wireless local area network (LAN) and/or ametropolitan area network (MAN), and other devices by wirelesscommunication. The wireless communication may use any of a plurality ofcommunications standards, protocols and technologies, including but notlimited to Global System for Mobile Communications (GSM), Enhanced DataGSM Environment (EDGE), wideband code division multiple access (W-CDMA),code division multiple access (CDMA), time division multiple access(TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE802.11b, IEEE 802.11g and/or IEEE 802.11n), voice over Internet Protocol(VoIP), Wi-MAX, a protocol for email, instant messaging, and/or ShortMessage Service (SMS)), or any other suitable communication protocol,including communication protocols not yet developed as of the filingdate of this document.

The audio circuitry 110, the speaker 111, and the microphone 113 providean audio interface between a user and the device 100. The audiocircuitry 110 receives audio data from the peripherals interface 118,converts the audio data to an electrical signal, and transmits theelectrical signal to the speaker 111. The speaker 111 converts theelectrical signal to human-audible sound waves. The audio circuitry 110also receives electrical signals converted by the microphone 113 fromsound waves. The audio circuitry 110 converts the electrical signal toaudio data and transmits the audio data to the peripherals interface 118for processing. Audio data may be may be retrieved from and/ortransmitted to the memory 102 and/or the RF circuitry 108 by theperipherals interface 118. In some embodiments, the audio circuitry 110also includes a headset jack (not shown). The headset jack provides aninterface between the audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (headphone for one or both ears) and input(microphone).

The I/O subsystem 106 provides the interface between input/outputperipherals on the device 100, such as the display system 112, the clickwheel 114 and other input/control devices 116, and the peripheralsinterface 118. The I/O subsystem 106 may include a display controller156, a click wheel controller 158 and one or more input controllers 160for other input or control devices. The one or more input controllers160 receive/send electrical signals from/to other input or controldevices 160. The other input/control devices 160 may include physicalbuttons (e.g., push buttons, rocker buttons, etc.), dials, sliderswitches, sticks, and so forth.

The display system 112 provides an output interface and/or an inputinterface between the device and a user. The display controller 156receives and/or sends electrical signals from/to the display system 112.The display system 112 displays visual output to the user. The visualoutput may include text, icons, graphics, video, and any combinationthereof. In some embodiments, some or all of the visual output maycorrespond to user-interface objects, further details of which aredescribed below.

In some embodiments, such as those that include a touch screen, thedisplay system 112 also accepts input from the user based on hapticand/or tactile contact. In embodiments with a touch screen, the displaysystem 112 forms a touch-sensitive surface that accepts user input. Inthese embodiments, the display system 112 and the display controller 156(along with any associated modules and/or sets of instructions in thememory 102) detect contact (and any movement or breaking of the contact)on the display system 112 and converts the detected contact intointeraction with user-interface objects, such as one or more soft keys,that are displayed on a touch screen. In an exemplary embodiment, apoint of contact between a touch screen in the display system 112 andthe user corresponds to one or more digits of the user.

In embodiments with a touch screen, the touch screen in the displaysystem 112 may use LCD (liquid crystal display) technology, or LPD(light emitting polymer display) technology, although other displaytechnologies may be used in other embodiments. A touch screen in thedisplay system 112 and the display controller 156 may detect contact andany movement or breaking thereof using any of a plurality of touchsensitivity technologies, including but not limited to capacitive,resistive, infrared, and surface acoustic wave technologies, as well asother proximity sensor arrays or other elements for determining one ormore points of contact with a touch screen in the display system 112. Atouch-sensitive display in some embodiments of the display system 112may be analogous to the multi-touch sensitive tablets described in thefollowing U.S. Pat. No. 6,323,846 (Westerman et al.), U.S. Pat. No.6,570,557 (Westerman et al.), and/or U.S. Pat. No. 6,677,932(Westerman), and/or U.S. Patent Publication 2002/0015024A1, each ofwhich is hereby incorporated by reference. However, a touch screen inthe display system 112 displays visual output from the portable device100, whereas touch sensitive tablets do not provide visual output. Thetouch screen in the display system 112 may have a resolution in excessof 100 dpi. In an exemplary embodiment, the touch screen in the displaysystem may have a resolution of approximately 168 dpi. The user may makecontact with the touch screen in the display system 112 using anysuitable object or appendage, such as a stylus, finger, and so forth.

In some embodiments, in addition to touch screen, the device 100 mayinclude a touchpad (not shown) for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device that, unlike the touch screen, does not display visualoutput. The touchpad may be a touch-sensitive surface that is separatefrom the touch screen in the display system 112 or an extension of thetouch-sensitive surface formed by the touch screen.

The device 100 may include a click wheel 114. A user may navigate amongone or more graphical objects (henceforth referred to as icons)displayed in the display system 112 by rotating the click wheel 114 orby moving (e.g., angular displacement) of a point of contact with theclick wheel 114. The click wheel 114 may also be used to select one ormore of the displayed icons. For example, the user may press down on atleast a portion of the click wheel 114 or an associated physical button.User commands and navigation commands provided by the user via the clickwheel 114 may be processed by the click wheel controller 158 as well asone or more of the modules and/or sets of instructions in the memory102.

The device 100 also includes a power system 162 for powering the variouscomponents. The power system 162 may include a power management system,one or more power sources (e.g., battery, alternating current (AC)), arecharging system, a power failure detection circuit, a power converteror inverter, a power status indicator (e.g., a light-emitting diode(LED)) and any other components associated with the generation,management and distribution of power in portable devices.

In some embodiments, the software components stored in the memory 102may include an operating system 126, a communication module (or set ofinstructions) 128, a contact/motion module (or set of instructions) 130,a graphics module (or set of instructions) 132, one or more applications(or set of instructions) 136, a timer module (or set of instructions)144, a word prediction module (or set of instructions) 146, an addressbook 148, a user word history 150, one or more character sets 152, andone or more lexicography models 154. The graphics module 132 may includean icon effects module (or set of instructions) 134. The applicationsmodule 136 may include a telephone module (or set of instructions) 138,a text messaging module (or set of instructions) 140 and/or a musicplayer module (or set of instructions) 142.

The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

The communication module 128 facilitates communication with otherdevices over one or more external ports 124 and also includes varioussoftware components for handling data received by the RF circuitry 108and/or the external port 124. The external port 124 (e.g., UniversalSerial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly toother devices or indirectly over a network (e.g., the Internet, wirelessLAN, etc.).

The contact/motion module 130 may detect contact with the click wheel114 and/or a touch screen in the display system 112 (in conjunction withthe display controller 156). The contact/motion module 130 includesvarious software components for performing various operations related todetection of contact, such as determining if contact has occurred,determining if there is movement of the contact and tracking themovement across the click wheel 114 and/or a touch screen in the displaysystem 112, and determining if the contact has been broken (i.e., if thecontact has ceased). Determining movement of the point of contact mayinclude determining speed (magnitude), velocity (magnitude anddirection), and/or an acceleration (including magnitude and/ordirection) of the point of contact. In some embodiments, thecontact/motion module 130 and the display controller 156 also detectscontact on a touchpad.

The graphics module 132 includes various known software components forrendering and displaying graphics on the display system 112. Note thatthe term “graphics” includes any object that can be displayed to a user,including without limitation text, web pages, icons (such asuser-interface objects including soft keys), digital images, videos,animations and the like.

In some embodiments, the graphics module 132 includes the icon effectsmodule 134. The icon effects module 134 may modify a displayed positionof one or more icons on the display system 112 (in conjunction with thedisplay controller 156) based on an animation sequence.

In addition to the telephone module 138, the text messaging module 140and/or the music player module 142, the one or more applications 136 mayinclude any applications installed on the device 100, including withoutlimitation, a browser, the address book 148, contact list, email,instant messaging, word processing, keyboard emulation, widgets,JAVA-enabled applications, encryption, digital rights management, voicerecognition, voice replication, location determination capability (suchas that provided by the global positioning system (GPS)), etc. A datastructure associated with the address book 148 is discussed furtherbelow with reference to FIG. 7.

In conjunction with the RF circuitry 108, the audio circuitry 110, thespeaker 111, the microphone 113, the display system 112, the displaycontroller 156, the click wheel 114 and/or the click wheel controller158, the telephone module 138 may be used to enter a sequence ofcharacters corresponding to a telephone number, access one or moretelephone numbers in the address book 148, modify a telephone numberthat has been entered, dial a respective telephone number, conduct aconversation and disconnect or hang up when the conversation iscompleted. Embodiments of user interfaces and associated processescorresponding to the telephone module 138 are described further belowwith reference to FIGS. 3-6.

In conjunction with the display system 112, the display controller 156,the click wheel 114 and/or the click wheel controller 158, the textmessaging module 140 may be used to enter a sequence of characterscorresponding to a text message, to modify previously enteredcharacters, to transmit a respective text message (for example, using aShort Message Service or SMS protocol), to receive text messages and toview received text messages. In some embodiments, transmitted and/orreceived text messages may include graphics, photos, audio files, videofiles and/or other attachments as are supported in a Multimedia MessageService (MMS) and/or an Enhanced Messaging Service (EMS). Embodiments ofuser interfaces and associated processes corresponding to the textmessaging module 140, and more generally, to text entry andcommunication are described further below with reference to FIGS. 8-10,12 and 13.

In conjunction with the display system 112, the display systemcontroller 156, the click wheel 114, the click wheel controller 158, theaudio circuitry 110, the speaker 111 and/or the microphone 113, themusic player module 142 allows the user to play back recorded musicstored in one or more files, such as MP3 or AAC files. In someembodiments, the device 100 may include the functionality of an MP3player, such as an iPod (trademark of Apple Computer, Inc.). The device100 may, therefore, include a 36-pin connector that is compatible withthe iPod.

The timer module 144 may provide a time reference and/or time stamps foruser commands received by the device 100, for example, using the clickwheel 114 and the click wheel controller 158.

The word prediction module 146 may be used in conjunction with one ormore of the applications 136, such as the text messaging module 140. Theword prediction module 146 may suggest one or more words or symbols(such as punctuation marks, pronunciation marks or spaces) in accordancewith a context. The context may be based on one or more of thelexicography models 154 (for example, grammatical and/or syntax rulesassociated with one or more languages) and/or a user word history 150.The context may include one or more previously entered words,characters, and/or symbols. The context may depend on which of theapplications 136 is being used. For example, there may be differentcontexts for an email application as opposed to a word processingapplication.

The user word history 150 may include static content (such as thatassociated with a dictionary) and/or dynamic content (such as thatassociated with characters, symbols and/or words that are routinelyand/or recently used by the user). The user word history 150 may includea static dictionary built up by scanning a user's address book, emails,and other documents. The user word history 150 may include weightedscores or probabilities for predicted words based on a set ofcharacters, symbols and/or words that are provided by the user to thedevice 100, for example, using the click wheel 114 and the click wheelcontroller 158. The user word history 150 may also include usestatistics (e.g., time of use and/or frequency of use) of one or morecharacters, symbols and/or words that are provided by the user. The userword history 150 is discussed further below with reference to FIGS. 14Aand 14B.

The character sets 152 may include one or more sets of characterscorresponding to numbers, letters and/or symbols. The letters and/orsymbols may correspond to one or more languages. The character sets 152may be used by one or more of the applications 136, such as the textmessaging module 140.

In some embodiments, the device 100 may include one or more optionaloptical sensors (not shown), such as CMOS or CCD image sensors, for usein imaging applications.

In some embodiments, the device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen in the display system 112 and/or a touchpad. Byusing a touch screen and/or a touchpad as the primary input/controldevice for operation of the device 100, the number of physicalinput/control devices (such as push buttons, dials, and the like) on thedevice 100 may be reduced. In one embodiment, the device 100 includes atouch screen, a touchpad, a push button for powering the device on/offand locking the device, a volume adjustment rocker button and a sliderswitch for toggling ringer profiles. The push button may be used to turnthe power on/off on the device by depressing the button and holding thebutton in the depressed state for a predefined time interval, or may beused to lock the device by depressing the button and releasing thebutton before the predefined time interval has elapsed. In analternative embodiment, the device 100 also may accept verbal input foractivation or deactivation of some functions through the microphone 113.

The predefined set of functions that may be performed exclusivelythrough a touch screen and/or a touchpad include navigation between userinterfaces. In some embodiments, the touchpad, when touched by the user,navigates the device 100 to a main, home, or root menu from any userinterface that may be displayed on the device 100. In such embodiments,the touchpad may be referred to as a “menu button.” In some otherembodiments, the menu button may be a physical push button or otherphysical input/control device instead of a touchpad.

In some embodiments, the device 100 is a device where operation of apredefined set of functions on the device is performed exclusively or atleast in part through the click wheel 114. By using the click wheel 114as the primary input/control device for operation of the device 100, thenumber of other physical input/control devices (such as push buttons,dials, and the like) on the device 100 may be reduced.

Attention is now directed towards embodiments of user interfaces andassociated processes that may be implemented on the device 100. FIG. 2is a schematic diagram illustrating an embodiment of a user interfacefor a portable communication device 300. The device 300 includes a clickwheel 310 and a display 312. The click wheel constitutes a physicalinterface for receiving user commands (such as selection of one of moreitems and/or icons that are displayed on the display 312) and/ornavigation commands (which may, for example, control scrolling throughthe items and/or icons that are displayed on the display 312). The usermay use the click wheel 310 by touching it (making a point of contact)and then moving the point of contact while maintaining contact. Suchangular displacement may indicate a navigation command to scroll throughthe items and/or icons that are displayed on the display 312. Bypressing down on the click wheel 310, or a click wheel button 308 (e.g.,at the center of the click wheel), the user may select one or more itemsand/or icons that are displayed on the display 312. Thus, a pressingdown gesture may indicate a user command corresponding to selection.

The device 300 may display a menu or hierarchy of the applications 136that may be executed or run on the device 300. Such a menu isillustrated in FIG. 2 in the display 312. The displayed icons for theapplications 136 include ‘Favorites’ for popular applications for thisuser, ‘Recent’ for calls that have been made, answered, and/or missedwithin a first pre-determined value (such as the last day, week ormonth), ‘Contacts’ (which corresponds to the address book 148 in FIG.1), ‘Dial’ (which corresponds to the telephone module 138 in FIG. 1) and‘SMS’ (which corresponds to the text messaging module 140 in FIG. 1).The ‘Music’, ‘Extras’, ‘Settings’ and ‘Now playing’ icons may correspondto the music player module 142 (FIG. 1). The arrow icons on theright-hand side of the display 312 may provide a visual clue to the userthat selection of a respective icon will move down through the menuhierarchy down to the corresponding application (with a commensuratemodification of the information displayed in the display 312). Thedisplay 312 may also include an icon, such as that shown in the upperright-hand corner, that indicates a remaining stored power level for thedevice 300.

As discussed previously, if the user selects the ‘Dial’ icon in thedisplay 312, the telephone module 138 (FIG. 1) may be executed.Embodiments of telephone user interfaces for the portable communicationdevice 300 that correspond to the telephone module 138 (FIG. 1) areillustrated in FIG. 3A-3D. While the device 300 in these figures hasbeen illustrated with certain components (including displayedinformation) and a particular arrangement of these components, it shouldbe understood that there may be fewer or more components, two or morecomponents may be combined, and positions of one or more components maybe changed.

As shown in FIG. 3A, if a user touches the click wheel 310, for examplewith a finger 318 (not drawn to scale in the figure), when the telephonemodule 138 (FIG. 1) is running, an icon or a set of icons correspondingto a rotary dial image 314_1 may be displayed in the display 312. Priorto the user touching the click wheel 310, no image is displayed or animage other than a rotary dial image is displayed (e.g., the menuillustrated in FIG. 2, a sleep mode image, or an image corresponding toanother application may be displayed). The rotary dial image 314_1 maycorrespond to a character entry mode of operation in the telephonemodule 138 (FIG. 1), e.g., a mode of operation where the user may enterin characters, such as numbers, that correspond to a telephone numberthe user wishes to dial. In some embodiments, the contact is maintainedfor more than a second pre-determined time interval prior to the device100 transitioning to the character entry mode of operation. The secondpre-determined time interval may be 0.5, 1 or 2 s.

The rotary dial image 314_1 may include a plurality of icons arrangedproximate to a periphery of the rotary dial image. The plurality oficons may include numbers. As shown in FIG. 3A, in some embodiments, therotary dial image includes the numbers 1-9 arranged as on a clock face,with the 10, 11, and 12 o'clock positions replaced with 0, *, and #,respectively. In other embodiments, the displayed icons are arranged ina pattern corresponding to a conventional rotary dial interface for atelephone.

As shown in FIG. 3A, the display 312 may include icons, such as thoseshown in the upper left-hand corner, that indicate a signal strength ofsignals used to communicate with a network, such as a cellular telephonenetwork. The display 312 may include icons 316 corresponding to asequence of one or more displayed icons that have been previouslyselected by the user. These icons 316 may be numbers in a set ofnumbers, e.g., a telephone number, that the user wishes to dial. Theselection process is described further below.

By moving a point of contact around at least a portion of the clickwheel 310, the user may provide navigation commands to the device 300.As discussed previously, the navigation commands may correspond toscrolling through the icons displayed on the display 312. For the rotarydial image 314_1, the scrolling may be around the circumference of therotary dial image 314_1. For example, the user may scroll through theicons corresponding to numbers. As shown in FIG. 3B, in some embodimentsa respective icon 320, which corresponds to a current position, may behighlighted. In some embodiments, there is an absolute angularrelationship between contact points on the clickwheel 310 and iconpositions on the rotary dial image 314 (e.g., the 3 o'clock position onthe clickwheel 310 corresponds to the 3 o'clock position in the rotarydial image 314, the 6 o'clock position on the clickwheel 310 correspondsto the 6 o'clock position in the rotary dial image 314, etc.).

In some embodiments, in order for the rotary dial image 314_1 tocontinue to be displayed (e.g., the device 300 remains in the characterentry mode of operation) the user maintains the contact with the clickwheel 314 even while moving around at least a portion of the click wheel314_1 to provide navigation commands. In some embodiments, the rotarydial image 314_1 continues to be displayed even if the user breakscontact with the click wheel 314 if the break in contact is for lessthan a third pre-determined amount of time or time interval. Forexample, for time intervals less than 0.5, 1 or 2 s. This functionalitymay allow the user to break contact with the click wheel 314 whilemoving around at least a portion of the click wheel 314 (e.g., whileproviding navigation commands). If the user breaks contact with theclick wheel 314, the navigation commands may be determined based onintervals where there is a point of contact (e.g., in a time intervalpreceding the breaking of contact and in a time interval after thecontact has been reestablished).

The user may select the respective icon 320 (i.e., provide the usercommand corresponding to selection) by pressing down on the click wheel310 and/or by pressing on the button 308 (FIG. 2). When the respectiveicon is selected, a corresponding character or number may be added tothe displayed sequence of selected icons 316.

As shown in FIG. 3C, in some embodiments one or more icons 322corresponding to one or more letters associated with the respective icon320 may be displayed in a central region of the rotary dial image 314_1.As shown in FIG. 3D, in some embodiments sets of one or more icons, suchas icon 324, corresponding to one or more letters associated with atleast a subset of the plurality of icons in the rotary dial image 314_1may be displayed along a radial direction of the rotary dial image314_1.

While embodiments of user interfaces for the character entry mode ofoperation the device 300 have been described, in other embodiments (notshown) the user may use the device 300 to access the address book 148(FIG. 1) to select one or more telephone numbers that he or she wishesto dial.

When a user has completed entering in a telephone number that he or shewishes to dial, or if the user makes a mistake while entering in thetelephone number that he or she wishes to correct, the user maytransition to a character correction mode of operation in the telephonemodule 138 (FIG. 1). Embodiments of telephone user interfaces for aportable communication device 400 that correspond to this mode ofoperation are illustrated in FIGS. 4A and 4B. While the device 400 inthese figures has been illustrated with certain components (includingdisplayed information) and a particular arrangement of these components,it should be understood that there may be fewer or more components, twoor more components may be combined, and positions of one or morecomponents may be changed.

The user may transition to the character correction mode of operation bybreaking contact with the click wheel 314 or by breaking contact withthe click wheel 314 for more than the third pre-determined timeinterval. When the device 300 transitions to the character correctionmode of operation, a new icon or set of icons corresponding to rotarydial image 314_2 may be displayed on the display 312. The rotary dialimage 314_2 has different shading or coloring than the rotary dial image314_1 (FIGS. 3A-3D) to indicate to the user that the mode of operationhas changed.

In some embodiments, the transition from the display of the rotary dialimage 314_1 (FIGS. 3A-3D) to the rotary dial image 314_2 is continuous.For example, the rotary dial image 314_1 (FIGS. 3A-3D) may be faded outand the rotary dial image 314_2 may be faded in over a fourthpre-determined time interval. The fourth pre-determined time intervalmay be 0.5, 1 or 2 s. In some embodiments, the fourth time interval is atime interval greater than a pre-determined value.

In the character correction mode of operation, the user may provide auser command to the device 400 that indicates one or more characterscorresponding to one or more previously selected icons should beremoved. For example, the user may press on the click wheel 310 over orproximate to a symbol 326 that corresponds to a delete function. When acharacter is deleted the displayed icons 316 may be modified to indicatethe change. As shown in FIG. 4B, in some embodiments an icon or set oficons corresponding to a rotary dial image 314_3 may include icon 330that provides a visual clue to the user as to the functionalitycorresponding to the symbol 326 on the click wheel 310.

After deleting one or more previously selected characters, the user maymake contact with the click wheel for at least a fifth pre-determinedtime interval in order to return to the character entry mode ofoperation. The fifth pre-determined time interval may be 0.5, 1 or 2 s.In some embodiments, the user may return to the character entry mode ofoperation by clicking on a predetermined location on the clickwheel 310,such as symbol 336 on the clickwheel 310. In some embodiments, the usermay return to the character entry mode of operation by moving a point ofcontact a predetermined amount or angle on the clickwheel 310. In thismode, the user may select one or more additional icons to complete thesequence of characters corresponding to the telephone number that theuser wishes to dial. In some embodiments (not shown in FIG. 4B), rotarydial image 314_3 may include an icon that provides a visual clue to theuser as to the functionality corresponding to the symbol 336 on theclick wheel 310, analogous to the visual cue that icon 330 provides forsymbol 326.

If the user does not need to delete any characters or does not need toselect any additional characters after deleting one or more characters,the user may provide a user command to the device 400 corresponding todialing the previously entered telephone number by pressing on thebutton 308. An icon 328 in the display 312 may be displayed to providethe user a visual clue as to the current functionality of the button308. In some embodiments, one or more additional icons corresponding toone or more functions of the click wheel 310 may be displayed on thedisplay 312 in the device 300 (FIGS. 3A-3B), the device 400 (FIGS.4A-4B) and/or a device 500 (FIG. 5).

When the user presses on the button 308, the device 400 may dial theselected telephone number. The device 400, therefore, may enter adialing mode of operation. An embodiment of telephone user interfacesfor the portable communication device 500 that correspond to this modeof operation is illustrated in FIG. 5. While the device 500 has beenillustrated with certain components (including displayed information)and a particular arrangement of these components, it should beunderstood that there may be fewer or more components, two or morecomponents may be combined, and positions of one or more components maybe changed.

During the dialing mode of operation, an icon or a set of iconscorresponding to a rotary dial image 314_4 may be displayed. The rotarydial image 314_4 may be modified during the dialing. The modificationmay be in accordance with an animation sequence. For example, the rotarydial image 314_4 may be rotated clockwise or counter clockwise. In someembodiments, music, such as a portion of a music file may be playedduring the dialing.

In some embodiments, the user may adjust a volume of the speaker 111(FIG. 1) by moving a point of contact with the click wheel 310approximately clockwise and/or counter clockwise around at least aportion of the click wheel 310. The device 500 may remain in the dialingmode of operation even if the user maintains the contact with the clickwheel 310 for more than a pre-determined time interval, such as thefifth pre-determined time interval.

The rotary dial image 314_4 may include an icon 332 that provides avisual clue to the user as to how he or she should disconnect thetelephone call when he or she wishes to. In particular, the icon 322indicates that by providing a user command (e.g., by pressing on thebutton 308) the user may disconnect or end the telephone call. After arespective telephone call is ended, the device 500 may return to thecharacter correction mode of operation.

FIG. 6 is a flow diagram of an embodiment of a telephone number dialingprocess 600. While the telephone number dialing process 600 describedbelow includes a number of operations that appear to occur in a specificorder, it should be apparent that the process 600 can include more orfewer operations, which can be executed serially or in parallel (e.g.,using parallel processors or a multi-threading environment), an order oftwo or more operations may be changed and/or two or more operations maybe combined into a single operation.

A first image of a rotary dial on a display is displayed in response toa first contact by a user with a click wheel (610). At least a portionof the first image of the rotary dial is scrolled around in response toone or more navigation commands (612). A respective icon in a pluralityof icons corresponding to a first position on the first image of therotary dial is highlighted (614). A first user command corresponding toselection of the respective icon is received using the click wheel(616). A sequence of one or more selected icons is displayed on thedisplay (618). A second image of the rotary dial is optionally displayedon the display in response to the user breaking the first contact withthe click wheel (620). One or more previously selected icons areoptionally removed in response to receiving a second user command (622).The second user command may include pressing a delete symbol on theclick wheel. A telephone number corresponding to the sequence ofselected icons is dialed or disconnected in response to receiving athird user command (624). The third user command includes pressing aclick wheel button (e.g., 308).

Attention is now directed towards embodiments of data structures thatmay be used in implementing the telephone module 138 (FIG. 1) and/orother applications 136 (FIG. 1). FIG. 7 is a block diagram illustratingan embodiment of an address book data structure 700. The address book148 may include multiple contacts 712. A respective contact, such as thecontact 712-1, may include one or more names 714-1, one or moreaddresses 716-1, one or more telephone numbers 718-1, one or more emailaddresses 720-1, as well as other information 722-1. In some embodimentsthe address book data structure 700 may include fewer or morecomponents. Two or more components may be combined and an order of twoor more components may be changed.

Attention is now directed towards additional embodiments of userinterfaces and associated processes that may be implemented on thedevice 100 (FIG. 1). As discussed previously, if the user selects the‘SMS’ icon in the display 312 (FIG. 2), the text messaging module 140(FIG. 1) may be executed. Embodiments of text messaging user interfacesfor a portable communication device 800 that correspond to the textmessaging module 140 (FIG. 1) are illustrated in FIG. 8A-8E and 9A-9B.While the device 800 in these figures has been illustrated with certaincomponents (including displayed information) and a particulararrangement of these components, it should be understood that there maybe fewer or more components, two or more components may be combined, andpositions of one or more components may be changed.

In FIG. 8A, the device 800 has several trays 810 displayed on thedisplay 312. A respective tray in the trays 810 includes a region of thedisplay 312. A tray 810_1 may be configured to display one or morecharacters that are selected by the user. The user may select arespective character using the click wheel 310. The user may provide auser command that indicates such a selection in an analogous fashion tothat discussed above with reference to FIGS. 3A-3D. A tray 810_2 mayinclude one or more symbols that provide visual clues and/orexplanations to the user as to current functions (in a current mode ofoperation) corresponding to one or more symbols on the click wheel 310.In this way, the user may be alerted to changes in the functionality ofthe click wheel 310 without changing the symbols on the click wheel 310.In other embodiments, one or more symbols displayed on the click wheel310 may be modified in accordance with a current function(s) of theclick wheel 310. In the embodiment shown in FIG. 8A, the tray 810_2includes explanations for a delete function, a space function andinstructions as to how to obtain a capitalized letter or character.These functions may be selected by pressing on an appropriate portion ofthe click wheel 310 and/or pressing on the click wheel 310 for at leasta sixth pre-determined time interval. For example, the user may obtain acapitalized letter or character by highlighting a corresponding icon onthe display 312 and pressing down on the click wheel 310 or a clickwheel button 308 for longer than the sixth pre-determined time interval.The letter or character may be selected (i.e., the user command may beprovided) when the user presses down on or breaks contact with the clickwheel 310 or the button 308. The sixth pre-determined time interval maybe 0.5, 1 or 2 s.

A tray 810_3 may include a plurality of icons 812_1 corresponding to aset of characters (in this example, letters in the English alphabet) andone or more recommended words 814. The one or more recommended words 814may be provided based on a language data structure system 1450 (FIG.14B). In some embodiments, the one or more recommended words 814 areprovided before receiving any characters selected by the user. Forexample, the one or more recommended words 814 may be in accordance withan application 136 and the user word history 150 (FIG. 1).

As illustrated in FIG. 8A, a current position in the tray 810_3 may beindicated by highlighting (e.g., shading) of a respective icon (acurrent position icon) in the tray 810_3, in this case, of the word‘hello’. The icons 812_1 and the one or more recommended words 814 mayconstitute a set. The user may scroll or move through this set byproviding navigation commands using the click wheel 310 in an analogousfashion to that discussed above with reference to FIGS. 3A-3D. In someembodiments, the user may provide a plurality of user commands using theclick wheel 310, including selection of multiple icons, whilemaintaining contact with the click wheel 310. Thus, the user may providenavigation commands (by moving a point of contact with at least aportion of the click wheel 310) and user commands (by pressing on theclick wheel 310) while maintaining contact with the click wheel 310.This may increase a number of characters, symbols and/or words that theuser may select per minute and may make it easier for the user to usethe device 800.

In some embodiments, the device 800 includes one or more additionaltrays. This is illustrated in FIG. 8B, which includes a tray 810_4. Thetray 810_4 may include a plurality of icons 812_2 corresponding to a setof characters (in this case, numbers). In some embodiments, the icons812_1, the icons 812_2 and the one or more recommended words 814 mayconstitute a set. The user may scroll or move through this set byproviding navigation commands using the click wheel 310 in an analogousfashion to that discussed above with reference to FIGS. 3A-3D.

The tray 810_4 may include icons corresponding to inserting a space in amessage and to sending a message. The user may select one of these iconsby providing commands using the click wheel 310. In some embodiments, aspace may be automatically added after one or more of the recommendedwords 814 (FIG. 8A) are selected by the user.

In some embodiments, the tray 810_3 may include a display adjustmenticon 816. If the user selects the display adjustment icon 816,additional icons may be displayed in the tray 810_3. This is illustratedin FIG. 8C. After selecting the display adjustment icon 816, the one ormore recommended words 814 (FIG. 8A) are replaced by icons correspondingto punctuation marks 818. In some embodiments, selecting the displayadjustment icon 816 a second time will replace the icons correspondingto punctuation marks 818 with the one or more recommended words 814(FIG. 8A).

In some embodiments, other icons corresponding to additional charactersor sets of characters may be displayed if the display adjustment icon816 is selected a second time and if the user presses down on the clickwheel 310 or the click wheel button 308 for longer than a pre-determinedtime interval, such as the sixth pre-determined time interval. This isillustrated in FIG. 8D, which shows icons 812_3 (which in this casecorrespond to numbers).

In some embodiments, a space that was automatically added to a messageafter one or more of the recommended words 814 (FIG. 1) was selected maybe automatically removed if a next user command corresponds to thedisplay adjustment icon 816. For example, if selecting the displayadjustment icon 816 corresponding to the displaying of the iconscorresponding to the punctuation marks 818 (FIG. 8C), the automaticallyadded space may not be needed in the message and may, therefore, beautomatically removed.

Depending on the character sets that are being used by the user, in someembodiments the device 800 may display one or more icons correspondingto pronunciation marks 820 after a respective icon is selected. This isillustrated in FIG. 8E, which shows icons corresponding to pronunciationmarks 820 displayed in the tray 810_3. Selecting one of these icons maymodify the previously selected respective icon to include thecorresponding pronunciation mark.

FIGS. 9A and 9B illustrate additional embodiments of user interfaces fortext messaging. In FIG. 9A, tray 810_1 displays a message that is beingcomposed, including characters and/or words that have been previouslyselected by the user. Tray 810_3 includes a plurality of icons,including a ‘JUMP’ icon 910 and alternate character set icons 912 and914. Selecting one or the alternate character set icons 912 and 914 mayresult in additional icons corresponding to additional character setsbeing displayed on the display 312. Selecting the ‘JUMP’ icon 910 maylead to a discontinuous change in the current position in the tray810_3. This is illustrated in FIG. 9B, which shows the highlightingcorresponding to the current position moving from the ‘JUMP’ icon 910 tothe number 6.

FIG. 10 is a flow diagram of an embodiment of a text entry process 1000.While the text entry process 1000 described below includes a number ofoperations that appear to occur in a specific order, it should beapparent that the process 1000 can include more or fewer operations,which can be executed serially or in parallel (e.g., using parallelprocessors or a multi-threading environment), an order of two or moreoperations may be changed and/or two or more operations may be combinedinto a single operation.

A first tray and a second tray are displayed (1010). The first tray isconfigured to display one or more characters selected by a user using aclick wheel and the second tray may include a first plurality of iconscorresponding to characters and one or more recommended words. At leasta portion of the first plurality of icons and one or more recommendedwords are scrolled through in accordance with one or more navigationcommands received from the click wheel (1012). A third tray isoptionally displayed (1014). The third tray includes a second pluralityof icons. The second plurality of icons includes numbers. A respectiveicon in the first plurality of icons corresponding to a current positionin the second tray is highlighted (1016). A first user commandcorresponding to selection of the respective icon is received (1018).The first user command may include pushing down on the click wheel or aclick wheel button. In some embodiments, after the first user command isreceived, the respective icon remains highlighted. In other embodiments,after the first user command is received, the first recommended wordicon is highlighted, which makes it easier for the user to select thefirst recommended word. Explanation of one or more functionscorresponding to one or more symbols on the click wheel may beoptionally displayed on the display (1020). A space may be automaticallyadded after receiving a second user command (1022). The second usercommand may correspond to a selection of one or more of the recommendedwords. Icons corresponding to punctuation marks may be optionallydisplayed in accordance with one or more characters that are selected bythe user (1024).

A sensitivity of the scrolling through the trays 810 in FIGS. 8A-8E and9A-9B as a function of the motion of the point of contact by the usermay be adjusted and/or varied over time. Similar adjustment and/orvariation in the scrolling sensitivity may be implemented in otherapplications 136 (FIG. 1), such as the telephone module 138. FIG. 11 isa flow diagram of an embodiment of a scrolling process 1100. While thescrolling process 1100 described below includes a number of operationsthat appear to occur in a specific order, it should be apparent that theprocess 1100 can include more or fewer operations, which can be executedserially or in parallel (e.g., using parallel processors or amulti-threading environment), an order of two or more operations may bechanged and/or two or more operations may be combined into a singleoperation.

A plurality of icons displayed on a display are scrolled through (1110).The scrolling is in accordance with a speed and/or an acceleration of apoint of contact by a user with a click wheel. In some embodiments, ascroll rate is slower for a pre-determined angular displacement of thecontact just after the scrolling is started, just prior to stopping thescrolling and/or when a direction of the scrolling is reversed (1112).In some embodiments, a scroll rate is slower for a pre-determined timeinterval of the contact just after the scrolling is started, just priorto stopping the scrolling and/or when a direction of the scrolling isreversed (1114).

Attention is now directed towards additional embodiments of userinterfaces and associated processes for implementing replayrecommendations on the device 100 (FIG. 1). One challenge associatedwith using the click wheel 310 (FIG. 9B) is that it may be difficult forthe user to navigate within an existing message to correct an error,such as a spelling or lexicography error. As a consequence, the user mayhave to delete multiple words in the message in order to fix the error.In the user interface and process described below, at least some of thewords in an existing message that are deleted may be replayed, i.e.,provided to the user as recommended words, in a reverse sequential orderto that when the words were deleted. In this way, it may be easier for auser to reconstruct the remainder of the message after correcting theerror.

The device 100 (FIG. 1) may determine that there is a potential replaycondition, i.e., that it may be appropriate to provide one or morerecommended words as part of a replay recommendation, based on the userdeleting one or more previously entered words in a message. In someembodiments, the potential replay recommendation may be in accordancewith zero or more additional words, characters or symbols that the useradds to the message after deleting one or more words.

The user may select one or more of the recommended words in such areplay recommendation using the click wheel 114 (FIG. 1) or by making agesture (such as a swipe) on a touch-sensitive display in the displaysystem 112 (FIG. 1). Once a word is accepted, it may be removed from therecommended words and a next word in the reverse sequence of previouslydeleted words may be provided/recommended.

FIGS. 12A-12C are schematic diagrams illustrating embodiments of userinterfaces that may be implemented on a device 1200 during a replayrecommendation process. While the device 1200 in these figures has beenillustrated with certain components (including displayed information)and a particular arrangement of these components, it should beunderstood that there may be fewer or more components, two or morecomponents may be combined, and positions of one or more components maybe changed.

In FIG. 12A, a current set of characters 1210_1 that have been selectedby the user (e.g., based on a sequence of user commands provided by theuser) include a spelling error. The current set of characters 1210_1includes a current sequence of words. In some embodiments, the currentset of characters 1210_1 includes a grammatical error and/or alexicography error. In some embodiments, the current set of characters1210_1 includes a misspelled word (e.g., “djde”, as shown in FIG. 12A)or an extra word (e.g., “Hey dude, how how are you doing?”, not shown).In some embodiments, the current set of characters 1210_1 is missing aword (e.g., “Hey dude, are you doing?”, not shown). The user commandsmay be provided using the click wheel 310. In other embodiments, theuser commands may be provided using one hand or one finger, for example,using a touch-sensitive display.

In FIG. 12B, the user has deleted (i.e., provided user commands todelete) characters in the current set of characters, resulting in a newcurrent set of characters 1210_2. Based on a determination of apotential replay condition, the device 1200 displays replayrecommendations in the recommended words 814. These correspond to atleast a subset of the previously deleted words from the current set ofcharacters 1210_1. These previously deleted words are presented inreverse sequential order relative to an order in which at least thesubset of the deleted words was deleted.

In FIG. 12C, the user has selected one or the recommended words 814. Theword is added to a current set of characters 1210_3 and is removed fromthe recommended words 814. A next deleted word in the reverse sequentialorder of deleted words is displayed with the recommended words 814. Thisprocess may be repeated until the message is completed, i.e., thecurrent set of characters 1210_1 (FIG. 12A) is restored without thespelling error (i.e., the spelling error in 1210_1 is corrected).

In some embodiments, the recommended words 814 may include additionalwords, characters and/or symbols that were not deleted. These words,characters and/or symbols may be determined using the language datastructure system 1450 (FIG. 14B). In some embodiments, the additionalrecommendations may include punctuation marks and/or pronunciationmarks.

In some embodiments, a space may be automatically inserted in themessage after one or more of the recommended words 814 are accepted. Insome embodiments, such a space is automatically removed if a next usercommand corresponds to selection of a punctuation mark. In someembodiments, one or more words in the current sequence of words 1210_3may be capitalized in accordance with a context of the one or morewords, characters and/or symbols in the current sequence of words1210_3.

FIG. 13 is a flow diagram of an embodiment of a replay recommendationprocess 1300. While the replay recommendation process 1300 describedbelow includes a number of operations that appear to occur in a specificorder, it should be apparent that the process 1300 can include more orfewer operations, which can be executed serially or in parallel (e.g.,using parallel processors or a multi-threading environment), an order oftwo or more operations may be changed and/or two or more operations maybe combined into a single operation.

A current set of characters is received in response to user commands(1310). The set of characters includes a sequence of words. Additionaluser commands that specify characters to delete from and/or add to thecurrent set of characters are received (131 2). Replay recommendationsfor words to be added to the current set of characters are provided(1314). The replay recommendations include one or more deleted wordsthat correspond to the deleted characters. A user command correspondingto acceptance of a respective recommended word is received, therespective recommended word is removed from the replay recommendations,and the respective word is added to the current set of characters(1316). Operations 1312 and 1314 may be optionally repeated 1318.

Attention is now directed towards embodiments of data structure systemsthat may be used in implementing the text messaging module 140 (FIG. 1),the text entry process (1000), the replay recommendation process 1300(FIG. 13) and/or other applications 136 on the device 100 (FIG. 1). FIG.14A is a block diagram illustrating an embodiment of a user word historydata structure 1400. The user word history 150 may include a deletedword stack 1410 and multiple words 1416. The words 1416 may include oneor more characters and/or one or more symbols. The deleted word stack1410 includes one or more words 1414 in a sequential order in which theone or more words 1414 were deleted by the user in an application, suchas the text messaging module 140 (FIG. 1). The deleted word stack 1410may be used in the device 1200 (FIGS. 12A-12C) and in the replayrecommendation process 1300 (FIG. 13).

A respective word in the words 1416, such as word 1416-M, may includemultiple records. A respective record may include a time-weighted score1418, use statistics 1420 (such as a time of use and/or a frequency ofuse), a context 1422 and one or more applications 1424. Thetime-weighted score 1418 may indicate a probability that the word 1416-Mis a next predicted word based on the context 1422 (one or morecharacters, symbols and/or words that have previously been provided bythe user) and/or the application 1424. For example, the time-weightedscore 1418 for an email application may be different than thetime-weighted score for the text messaging module 140 (FIG. 1). Thetime-weighted score 1418 may be computed to favorably weight (e.g., givea higher probability) to words that are used recently. For example, thetime-weighted score 1418 may give favorable weighting to words 1416 thatare used within the last 24 hours or week. Words 1416 used on longertime scales (e.g., more than a day or a week ago) may have theircorresponding time-weighted scores 1418 reduced by a pre-determinedratio (such as 0.9) for each additional time interval (e.g., each day orweek) since the words 1416 were last used.

The user history data structure 1400 may include static information (forexample, corresponding to a dictionary and/or grammatical and syntaxrules for one or more languages) as well as dynamic information (basedon recent usage statistics and/or patterns). The user word history datastructure 1400 may include a static dictionary built up by scanning auser's address book, emails, and other documents. The user history datastructure 1400 may be dynamically updated continuously, afterpre-determined time intervals, or when a new word or syntax is employedby the user. In some embodiments the user history data structure 1400may include fewer or more components. Two or more components may becombined and an order of two or more components may be changed.

FIG. 14B is a block diagram illustrating an embodiment of a languagedata structure system 1450. The data structure system 1450 may be usedto provide recommended words in the device 800 (FIGS. 8A-8E). A sequenceof symbols 1462 (including one or more characters, symbols and/or words)may be provided by the user. A set of symbols 1462 corresponding to acontext 1422-1 may be processed by a context map 1460. In someembodiments, the context 1422-1 may be a null set, e.g., one or morerecommended words are provided before the user provides any symbols 1462in a current application session. In other embodiments, the context1422-1 may include one or more previously entered or provided words aswell as one or more symbols, such as the first one, two or three lettersin a current word that the user is providing. The context map 1460 mayinclude a select and hashing module 1464 and a hash map 1466. The hashmap 1466 may select one or more appropriate entries in anapplication-specific dictionary 1468. The entries in theapplication-specific dictionary 1468 may include contexts 1470,predicted words 1472, and time-weighted scores 1472. Theapplication-specific dictionary 1468 may utilize the records in the userhistory data structure 1400. As a consequence, the application-specificdictionary 1468 may be dynamically updated continuously, afterpre-determined time intervals, or when a new word or syntax is employedby the user.

The language data structure system 1450 may be used to provide one ormore recommended words based on the context 1422-1. The context map 1460may find a top-5 or top-10 best context 1470 matches. The correspondingpredicted words 1472 may be recommended to the user in accordance withthe time-weighted scores 1474. In some embodiments, only a subset of thepredicted words 1470 corresponding to the best context 1470 matches maybe presented to the user (e.g., just the top-1, top-2, or top-3predicted words).

In some embodiments, the language data structure system 1450 may provideone or more recommended words in accordance with a state machine(corresponding to a Markov sequence or process) that corresponds to alanguage. For example, the application-specific dictionary 1468 may bebased on a stochastic model of the relationships among letters,characters, symbols and/or words in a language.

A path memory (such as up to three characters in a word that iscurrently being entered and/or two or three previously entered words) ofthe probabilistic model represents a tradeoff between accuracy and theprocessing and power capabilities (for example, battery life) of theportable communication device 100 (FIG. 1). In some embodiments, such aprobabilistic model may be based on a lexicography and usage that isuser-specific and/or, as discussed previously, even applicationspecific. For example, user emails, address book and/or other documentsmay be analyzed to determine an appropriate probabilistic model for thatuser based on the syntax and/or lexicography (including names and slang)that are employed by the user. The probabilistic model may be updatedcontinuously, after pre-determined time intervals, or when a new word orsyntax is employed by the user.

In some embodiments, the probabilistic model may be based on one or moremistakes made by the user when using the click wheel 114 (FIG. 1) and/ora touch-sensitive display in the display system 112 (FIG. 1). Forexample, if the user accidentally selects the wrong icon when typing arespective word, the probabilistic model may be updated to account forsuch errors in the future. In an exemplary embodiment, a mistake may bedetermined based on a user activation of an icon corresponding to thedelete function. This adaptability of the portable communication device100 (FIG. 1) may allow correction of user interface errors (such asparallax and/or left-right symmetry) associated with which finger(s) theuser is using and how the user is holding the portable communicationdevice 100 (FIG. 1) while using it. This adaptability of the portablecommunication device 100 (FIG. 1) may also be used to prevent therecommendation of misspelled words (e.g., by deleting such words fromthe user word history 150 or giving such words very low weightedscores).

In some embodiments the language data structure system 1450 may includefewer or more components. Two or more components may be combined and anorder of two or more components may be changed.

The foregoing descriptions of specific embodiments of the presentinvention are presented for purposes of illustration and description.They are not intended to be exhaustive or to limit the invention to theprecise forms disclosed. Rather, it should be appreciated that manymodifications and variations are possible in view of the aboveteachings. The embodiments were chosen and described in order to bestexplain the principles of the invention and its practical applications,to thereby enable others skilled in the art to best utilize theinvention and various embodiments with various modifications as aresuited to the particular use contemplated.

1. A method comprising: at a portable electronic device: simultaneouslydisplaying one or more characters selected by a user, a first pluralityof icons that correspond to a set of characters, and one or morerecommended words, wherein the first plurality of icons and the one ormore recommended words comprise a set; and sequentially scrollingthrough the set comprising the first plurality of icons and the one ormore recommended words in accordance with one or more receivednavigation commands, wherein the sequential scrolling wraps around fromone end of the set to another end of the set.
 2. The method of claim 1,wherein the first plurality of icons includes a display adjustment icon,and wherein the one or more recommended words are replaced by iconscorresponding to punctuation marks when a first user commandcorresponding to selection of the display adjustment icon is received afirst time and the icons corresponding to punctuation marks are replacedby the one or more recommended words when the first user commandcorresponding to selection of the display adjustment icon is received asecond time.
 3. The method of claim 2, further comprising automaticallyadding a space after a second user command corresponding to selection ofat least one of the one or more recommended words is received andautomatically removing the space if a next user command receivedcorresponds to the display adjustment icon.
 4. The method of claim 1,wherein the sequentially scrolling through the set is in accordance withone or more navigation commands received from a click wheel.
 5. Themethod of claim 4, further comprising receiving a user command, whereinthe user command corresponds to selection of a respective icon in thefirst plurality of icons, and wherein the user command includes pushingdown on the click wheel.
 6. The method of claim 4, further comprisingreceiving a user command, wherein the user command corresponds toselection of a respective icon in the first plurality of icons, andwherein the user command includes pushing down on a button at the centerof the click wheel.
 7. The method of claim 4, wherein the firstplurality of icons includes one or more jump icons, and wherein clickingon a respective jump icon using the click wheel results in adiscontinuous jump from one position in the set to another position. 8.The method of claim 4, wherein a scrolling rate is slower for apre-determined angular displacement of the contact just after thescrolling is started, just prior to stopping the scrolling, and when adirection of the scrolling is reversed, than for other angulardisplacements.
 9. The method of claim 4, wherein a scrolling rate isslower for a pre-determined time interval of the contact just after thescrolling is started, just prior to stopping the scrolling, and when adirection of the scrolling is reversed, than for other time intervals.10. The method of claim 4, further comprising receiving a plurality ofuser commands using the click wheel, wherein the plurality of usercommands correspond to selection of multiple icons in the firstplurality of icons, and wherein the selection occurs while contact withthe click wheel is maintained.
 11. The method of claim 4, wherein theone or more navigation commands received from the click wheel arerepetitions of a single navigation command.
 12. A graphical userinterface, on a portable electronic device with memory and one or moreprocessors to execute one or more programs stored in the memory, thegraphical user interface, comprising: one or more characters selected bya user, a first plurality of icons that correspond to a set ofcharacters, and one or more recommended words, wherein: the firstplurality of icons and the one or more recommended words comprise a set;the set comprising the first plurality of icons and the one or morerecommended words is scrolled through sequentially in accordance withone or more received navigation commands; and the sequential scrollingwraps around from one end of the set to another end of the set.
 13. Thegraphical user interface of claim 12, wherein sequentially scrollingthrough the set is in accordance with one or more navigation commandsreceived from a click wheel.
 14. The graphical user interface of claim13, wherein the one or more navigation commands received from the clickwheel are repetitions of a single navigation command.
 15. A computerprogram product for use in conjunction with a portable electronicdevice, the computer program product comprising a computer readablestorage medium and a computer program mechanism embedded therein, thecomputer program mechanism comprising instructions for: simultaneouslydisplaying one or more characters selected by a user, a first pluralityof icons that correspond to a set of characters, and one or morerecommended words, wherein the first plurality of icons and the one ormore recommended words comprise a set; and sequentially scrollingthrough the set comprising the first plurality of icons and the one ormore recommended words in accordance with one or more receivednavigation commands, wherein the sequential scrolling wraps around fromone end of the set to another end of the set.
 16. The computer programproduct of claim 15, wherein the sequentially scrolling through the setis in accordance with one or more navigation commands received from aclick wheel.
 17. The computer program product of claim 16, wherein theone or more navigation commands received from the click wheel arerepetitions of a single navigation command.
 18. A portable electronicdevice, comprising: a display; one or more processors; memory; and oneor more programs, wherein the one or more programs are stored in thememory and configured to be executed by the one or more processors, theone or more programs including: instructions for simultaneouslydisplaying one or more characters selected by a user, a first pluralityof icons that correspond to a set of characters, and one or morerecommended words, wherein the first plurality of icons and the one ormore recommended words comprise a set; and instructions for sequentiallyscrolling through the set comprising the first plurality of icons andthe one or more recommended words in accordance with one or morereceived navigation commands, wherein the sequential scrolling wrapsaround from one end of the set to another end of the set.
 19. The deviceof claim 18, wherein the sequentially scrolling through the set is inaccordance with one or more navigation commands received from a clickwheel.
 20. The device of claim 19, wherein the one or more navigationcommands received from the click wheel are repetitions of a singlenavigation command.